//
//  Person.m
//  02-ClassAndObject
//
//  Created by 李昊林 on 16/7/5.
//  Copyright © 2016年 李昊林. All rights reserved.
//

#import "Person.h"

@implementation Person
// 实现：方法 加{}
-(void)sleep:(NSInteger)time{
    //NSLog属于C语言的函数
    NSLog(@"这个人睡了%ld",time);
}
-(void)setName:(NSString *)name{
    if (_name != name) {
        [_name release];
        _name = [name retain];
    }
}

-(NSString *)name{
    return [[_name retain] autorelease];
}
// 命名规则
//实现大括号前，要加回车或者空格
//指派初始化方法
//无论调用哪个初始化方法，都会执行的初始化方法，称为指派初始化

- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age
{
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}
- (instancetype)initWithName:(NSString *)name {
    return [self initWithName:name age:0];
}

- (instancetype)initWithage:(NSInteger)age {
    return [self initWithName:nil age:age];
}

+ (instancetype)personWithName:(NSString*)name
                           age:(NSInteger)age {
    return [[[Person alloc] initWithName:name age:age] autorelease];
}












@end
